The present invention relates to a facsimile machine, more particularly to a method employed by the facsimile machine to decide when a new page of data can be received.
A facsimile machine receives compressively encoded facsimile data, decodes and thereby expands the received data, and prints the expanded data. The encoded and decoded data, and other image data, are stored in a buffer memory, the encoded data awaiting decoding, the decoded data awaiting printing, and other data awaiting transmission. The printing of a page does not begin until all coded data for the page have been received.
Since coded data can be received faster than the corresponding pages can be printed, unprinted pages may accumulate in the buffer memory. If the buffer memory overflows during the reception of a page, data are lost and the page must to be transmitted again. Even without an overflow, if the amount of free space in the buffer memory becomes too small to store expanded data, printing will become impossible. To avoid these difficulties, a conventional facsimile machine keeps count of the number of unprinted pages stored in the buffer memory, and allows transmission of a new page to begin only if the number of unprinted pages currently stored is below a fixed limit.
One problem with this scheme is that the amount of coded data per page is variable, and the amount of other data stored in the buffer memory is highly variable. Therefore, even when the number of stored pages equals or exceeds the fixed limit, there may still be sufficient space to receive more pages. Refusing to receive in this situation needlessly delays the facsimile transmission.